﻿using Edu.Application.Model.Messaging;
using Edu.Application.Model.Models;
using Edu.Application.Model.RequestModel;
using Edu.Application.Model.ResponseModel;
using Edu.Domain.Model;
using EStart.Infrastructure.ClientData;
using EStart.Infrastructure.Domain;
using EStart.Interface;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace Edu.Application.Interfaces
{
    public interface IRoleService : IServiceCore<Role>
    {

        Task<ApiResult<string>> SaveAsync(RoleModel request);

        Task<ApiResult<Page<RoleModel>>> GetPagesAsync(RolePage request);

        ApiResult<RoleModel> GetDetail(Guid guid);

        ApiResult<string> Delete(Guid guid);

        Task<ApiResult<List<CheckModel>>> GetCheckModelAsync();


        Task<ApiResult<string>> SaveUseMenuAsync(UserMenuAndUserActionRequest request);

        Task<ApiResult<List<string>>> GetCheckByRoleGuid(Guid guid);


    }
}
